//
//  BBOverlayView.h
//  xNose
//
//  Created by ben smith on 12/09/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>

@class BBNode;
@class BBNodeView;

// this view does too much
// it hosts the controller view
// it hosts the info view
// it draws the connections
// it draws the highlights


@interface BBOverlayView : NSView {
	BOOL dim,drawImages,drawConnections,drawStateSave;
	NSView * controller;
	NSRect controllerStart;
	NSRect sourceFrame;
	NSMutableArray * connectedNodes;
	NSMutableArray * curves;
	NSMutableArray * circles;
	NSMutableArray * dots;
	NSView * transitionView;
	NSView * infoView;
	NSDictionary * textAttributes;
	NSRect textRect;
	NSImage * logo;
}

@property (retain) NSView * transitionView;

- (BOOL)drawConnections;
- (BOOL)drawHighlight;
- (id)initWithFrame:(NSRect)frame ;
- (void) dealloc;
- (void)activate;
- (void)closeController:(NSNotification*)note;
- (void)closeInfo:(NSNotification*)note;
- (void)deactivate;
- (void)drawConnected;
- (void)drawConnectionBetween:(BBNode*)aNode and:(BBNode*)bNode;
- (void)drawRect:(NSRect)rect ;
- (void)finalCloseInfo:(BBNodeView*)nodeView;
- (void)findConnectedNodesIn:(BBNode*)aNode;
- (void)finishOpenInfo:(BBNodeView*)nodeView;
- (void)highlightConnectedNotification:(id)sender;
- (void)middleCloseInfo:(BBNodeView*)nodeView;
- (void)middleOpenInfo:(BBNodeView*)nodeView;
- (void)openController:(NSNotification*)note;
- (void)openInfo:(NSNotification*)note;
- (void)setHighlight:(BOOL)b;
- (void)showConnectedNotification:(id)sender;
- (void)toggleConnectedNotification:(id)sender;
- (void)trashView:(NSView*)aView;
- (void)undim:(id)sender;

// 24 methods


@end
